//需求: 读取 resource 下三个文件, 内容合并输出在控制台

//原始形式
// const fs = require('fs');
//回调地狱
// fs.readFile('./resource/1.html', (err, data1) => {
//     if(err) throw err;
//     fs.readFile('./resource/2.html', (err, data2) => {
//         if(err) throw err;
//         fs.readFile('./resource/3.html', (err, data3) => {
//             if(err) throw err;
//             //合并输出
//             console.log(data1.toString() + data2.toString() + data3.toString());
//         });
//     });
// });

//promise 风格
// const fs = require('fs/promises');

// let p1 = fs.readFile('./resource/1.html');
// let p2 = fs.readFile('./resource/2.html');
// let p3 = fs.readFile('./resource/3.html');

// let result = Promise.all([p1, p2, p3]);

// result.then(v => {
//     let shiju = v.map(item => item.toString()).join('')
//     console.log(shiju);
// })


//async 和 await      『没有回调函数』
const fs = require('fs/promises');

async function main(){
    //读取第一个文件内容
    let data1 = await fs.readFile('./resource/1.html'); // fs.readFile 返回结果是 promise 对象, 成功的结果值为『文件内容』
    let data2 = await fs.readFile('./resource/2.html');
    let data3 = await fs.readFile('./resource/3.html');

    console.log(data1.toString() + data2.toString() + data3.toString());
}

main();